/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.utfpr.controllers;

import br.edu.utfpr.dao.UsuarioDao;
import br.edu.utfpr.dao.UsuarioDaoImp;
import br.edu.utfpr.models.Usuario;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

/**
 *
 * @author gian
 */

@ManagedBean
@SessionScoped
public class UsuarioController {
    private Usuario usuario = new Usuario();
    private DataModel listaUsuarios;

    public DataModel getListarUsuarios() {
        List<Usuario> lista = new UsuarioDaoImp().list();
        listaUsuarios = new ListDataModel(lista);
        return listaUsuarios;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public void prepararAdicionarUsuario(ActionEvent actionEvent){
        System.out.println("|||||||||||||||||||||| ENTROU NO PREPARAR ADICIONARIO USUARIO ||||||||||||||||||||");
        usuario = new Usuario();
    }

    public void prepararAlterarUsuario(ActionEvent actionEvent){
        usuario = (Usuario)(listaUsuarios.getRowData());
    }

    public String excluirUsuario(){

        Usuario usuarioTemp = (Usuario)(listaUsuarios.getRowData());
        UsuarioDao dao = new UsuarioDaoImp();
        dao.remove(usuarioTemp);
        return "index";

    }

    public void adicionarUsuario(ActionEvent actionEvent){
        System.out.println("---------------------------ENTROU NO adicionarUsuario------------------");
        UsuarioDao dao = new UsuarioDaoImp();
        dao.save(usuario);
        
    }

    public void alterarUsuario(ActionEvent actionEvent){

        UsuarioDao dao = new UsuarioDaoImp();
        dao.update(usuario);

    }
    
}
